@import url("/node_modules/@sweetalert2/themes/dark/dark.css");

@tailwind base;
@tailwind components;
@tailwind utilities;

/* This will remove the default browser outline for all elements */
*:focus {
    outline: none;
}


.filepond--credits {
    display: none;
}

.filepond--panel {
    background-color: black !important;
}

.filepond--panel[data-scalable='true'] {
    background-color: black !important;
}

.filepond--drop-label {
    @apply font-mono bg-black ;
}

.filepond--drip {
    background-color: black !important;
}

.filepond--panel-root {
    @apply font-mono;
}

.filepond--root {
    @apply bg-black;
    margin-bottom: 0px !important;
}

.filepond--file {
    @apply font-mono;
}

.filepond--hopper {
    @apply bg-black;
}

.filepond--item-panel {
    @apply bg-black;
}

.filepond--list.filepond--list {
    padding-top: 30px;
}

[data-filepond-item-state='processing-complete'] .filepond--item-panel {
    background-color: #000;
}

[data-filepond-item-state*='invalid'] .filepond--item-panel,
[data-filepond-item-state*='error'] .filepond--item-panel {
    background-color: #000;
}

.filepond--drip-blob {
    background: #000 !important;
}

.filepond--drop-label {
    color: #777A81 !important;
}

.filepond--label-action {
    text-decoration-color: #000 !important;
}

.filepond--panel-root {
    background-color: #000 !important;
    margin-bottom: 0px !important;
}


/**
 * ==============================================
 * Dot Flashing
 * ==============================================
 */
.dot-flashing {
    position: relative;
    width: 10px;
    height: 10px;
    border-radius: 5px;
    background-color: #ffffff;
    color: #ffffff;
    animation: dot-flashing 1s infinite linear alternate;
    animation-delay: 0.5s;
    margin: 10px 20px; /* Vertical margin: 8px, Horizontal margin: 20px */
}

.dot-flashing::before, .dot-flashing::after {
    content: "";
    display: inline-block;
    position: absolute;
    top: 0;
}

.dot-flashing::before {
    left: -15px;
    width: 10px;
    height: 10px;
    border-radius: 5px;
    background-color: #ffffff;
    color: #ffffff;
    animation: dot-flashing 1s infinite alternate;
    animation-delay: 0s;
}

.dot-flashing::after {
    left: 15px;
    width: 10px;
    height: 10px;
    border-radius: 5px;
    background-color: #ffffff;
    color: #ffffff;
    animation: dot-flashing 1s infinite alternate;
    animation-delay: 1s;
}

@keyframes dot-flashing {
    0% {
        background-color: #ffffff;
    }
    50%, 100% {
        background-color: rgba(255, 255, 255, 0.2);
    }
}

[x-cloak] {
    display: none !important;
}

.shiki {
    @apply mt-6 p-4 rounded-lg text-sm;
}

.shiki code {
    white-space: pre-wrap; /* Preserve whitespace but allow wrapping */
    word-wrap: break-word; /* Break long words that would overflow */
    overflow-wrap: break-word; /* Similar to word-wrap, for better compatibility */
    max-width: 100%; /* Prevent the code block from exceeding its container's width */
}

/*Copy code button*/
.copy-button {
    position: absolute;
    top: 0.5rem;
    right: 0.5rem;
    background-color: rgba(55, 65, 81, 0.7);
    color: white;
    border: none;
    padding: 0.25rem 0.5rem;
    border-radius: 0.25rem;
    opacity: 0;
    transition: opacity 0.2s;
}

pre.shiki {
    position: relative;
}

pre.shiki:hover .copy-button {
    opacity: 1;
}

/* Custom CSS for transitioning the sidebar */
.sidebar {
    /* Apply transition to both border-color and width */
    transition: border-color 0.3s ease-in-out, width 0.3s ease-in-out;
}

.hmmm {
    transition: margin-left 0.3s ease-in-out;
}

.sidebar-open {
    width: 260px;
    border-right: 1px solid rgba(255, 255, 255, 0.15);
}

.sidebar-closed {
    width: 0px; /* Collapsed width */
    border-right: 1px solid rgba(0, 0, 0, 0); /* Fully transparent when closed */
}

@layer base {
    .chat ol {
        @apply list-decimal pl-8;
    }

    .chat li {
        @apply my-3;
    }

    .chat ul {
        @apply list-disc pl-8;
    }

    :root {
        --livewire-progress-bar-color: white !important;
    }


    body {
        @apply bg-black text-white h-screen font-mono;
    }

    .prose h1:first-of-type {
        text-align: center;
    }

    .prose h4:first-of-type {
        text-align: center;
        margin-top: 0.1em;
        margin-bottom: 2.5em;
        font-size: 16px;
        color: "#d1d5db";
    }

    .prose img {
        @apply border border-white;
    }

    h1.title {
        @apply text-[64px] font-bold;
    }

    h1 {
        @apply text-[40px] font-bold;
    }

    h2 {
        @apply text-[32px];
    }

    h3 {
        @apply text-[24px];
    }

    h4 {
        @apply text-[20px];
    }

    h5 {
        @apply text-[16px];
    }

    h6 {
        @apply text-[14px];
    }

    p {
        @apply text-[16px] my-4;
    }
}

@font-face {
    font-family: 'Berkeley Mono';
    src: url('/fonts/BerkeleyMonoVariable-Regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: 'Berkeley Mono';
    src: url('/fonts/BerkeleyMonoVariable-Regular.woff2') format('woff2');
    font-weight: 400;
    font-style: italic;
}

@font-face {
    font-family: 'JetBrains Mono';
    src: url('/fonts/JetBrainsMono-Thin.woff2') format('woff2');
    font-weight: 100; /* Thin */
    font-style: normal;
}

@font-face {
    font-family: 'JetBrains Mono';
    src: url('/fonts/JetBrainsMono-ThinItalic.woff2') format('woff2');
    font-weight: 100; /* Thin */
    font-style: italic;
}

@font-face {
    font-family: 'JetBrains Mono';
    src: url('/fonts/JetBrainsMono-ExtraLight.woff2') format('woff2');
    font-weight: 200; /* ExtraLight */
    font-style: normal;
}

@font-face {
    font-family: 'JetBrains Mono';
    src: url('/fonts/JetBrainsMono-ExtraLightItalic.woff2') format('woff2');
    font-weight: 200; /* ExtraLight */
    font-style: italic;
}

@font-face {
    font-family: 'JetBrains Mono';
    src: url('/fonts/JetBrainsMono-Light.woff2') format('woff2');
    font-weight: 300; /* Light */
    font-style: normal;
}

@font-face {
    font-family: 'JetBrains Mono';
    src: url('/fonts/JetBrainsMono-LightItalic.woff2') format('woff2');
    font-weight: 300; /* Light */
    font-style: italic;
}

@font-face {
    font-family: 'JetBrains Mono';
    src: url('/fonts/JetBrainsMono-Regular.woff2') format('woff2');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'JetBrains Mono';
    src: url('/fonts/JetBrainsMono-Medium.woff2') format('woff2');
    font-weight: 500; /* Medium */
    font-style: normal;
}

@font-face {
    font-family: 'JetBrains Mono';
    src: url('/fonts/JetBrainsMono-MediumItalic.woff2') format('woff2');
    font-weight: 500; /* Medium */
    font-style: italic;
}

@font-face {
    font-family: 'JetBrains Mono';
    src: url('/fonts/JetBrainsMono-SemiBold.woff2') format('woff2');
    font-weight: 600; /* SemiBold */
    font-style: normal;
}

@font-face {
    font-family: 'JetBrains Mono';
    src: url('/fonts/JetBrainsMono-SemiBoldItalic.woff2') format('woff2');
    font-weight: 600; /* SemiBold */
    font-style: italic;
}

@font-face {
    font-family: 'JetBrains Mono';
    src: url('/fonts/JetBrainsMono-Bold.woff2') format('woff2');
    font-weight: 700; /* Bold */
    font-style: normal;
}

@font-face {
    font-family: 'JetBrains Mono';
    src: url('/fonts/JetBrainsMono-BoldItalic.woff2') format('woff2');
    font-weight: 700; /* Bold */
    font-style: italic;
}

@font-face {
    font-family: 'JetBrains Mono';
    src: url('/fonts/JetBrainsMono-ExtraBold.woff2') format('woff2');
    font-weight: 800; /* ExtraBold */
    font-style: normal;
}

@font-face {
    font-family: 'JetBrains Mono';
    src: url('/fonts/JetBrainsMono-ExtraBoldItalic.woff2') format('woff2');
    font-weight: 800; /* ExtraBold */
    font-style: italic;
}
